19 research outputs found

    A Proof of Concept Attack against Norwegian Internet Banking Systems

    No full text

    A Reverse Engineering Form for Multi Agent Systems

    No full text

    Propositional, Probabilistic and Evidential Reasoning: Integrating numerical and symbolic approaches

    Get PDF
    Current software projects have generally to deal with producing and managing large and complex software products. It is generally believed that applying software development methods are useful in coping with this complexity and for supporting quality. As such numerous object-oriented software development methods have been defined. Nevertheless, methods often provide a complexity by their own due to their large number of artifacts, method rules and their complicated processes. We think that automation of software development methods is a valuable support for the software engineer in coping with this complexity and for improving quality. This paper presents a summary and a discussion of the ideas that were raised during the workshop on automating object-oriented software development methods

    Really Automatic Scalable Object-oriented Reengineering

    No full text
    Even when implemented in a purely procedural programming language, properly designed programs possess elements of good design that are expressible through object-oriented constructs and concepts. For example, placing structured types and the procedures operating on them together in the same module achieves a weak form of encapsulation that reduces inter-module coupling. This paper presents a novel technique, and a supporting tool AutoOO, that extracts such implicit design elements from C applications and uses them to build reengineered object-oriented programs. The technique is completely automatic: users only provide a source C program, and the tool produces an object-oriented application written in Eiffel with the same input/output behavior as the source. An extensive evaluation on 10 open-source programs (including the editor vim and the math library libgsl) demonstrates that our technique works on applications of significant size and builds reengineered programs exhibiting elements of good object-oriented design, such as low coupling and high cohesion of classes, and proper encapsulation. The reengineered programs also leverage advanced features such as inheritance, contracts, and exceptions to achieve a better usability and a clearer design. The tool AutoOO is freely available for download
    corecore